#include <stdio.h>

void test(int n);
void test2(int *p);

int main(void)
{
	// 局部变量
	int n = 10;

	/*
	 test函数中的形参n与main函数的变量n不是同一个变量,都是函数内的局部变量
	 在调用函数期间main函数的n的值复制给test函数的形参
	 当改变test函数中n的值,不会影响main变量
	 */
	test(n);

	printf("main n:%d\n", n);

	test2(&n);
	printf("test2 main n:%d\n", n);

	return 0;
}

// 给main函数的变量n赋值
void test(int n)
{
	printf("值传递:%d\n", n);
	n = 20;
}

void test2(int *p)
{
	// p存储调用函数的变量的地址
	// p的运算能力sizeof去掉一个* sizeof(int)===>4bytes
	*p = 100;
}


